<!--尽管AngularJS会在运行$digest循环的过程中自动解析表达式，但有时手动解析表达式也是非常有用的。AngularJS通过$parse这个内部服务来进行表达式的运算，
这个服务能够访问当前所处的作用域。这个过程允许我们访问定义在$scope上的原始JavaScript数据和函数。将$parse服务注入到控制器中，
然后调用它就可以实现手动解析表达式。举例来说，如果页面上有一个输入框绑定到了expr变量上-->
<!DOCTYPE html>
<html ng-app="App"lang="en">
<head>
    <meta charset="UTF-8">
    <title>表达式</title>
    <script src="../../js/angular/angular.min.js"></script>
    <script src="demo5.js"></script>
</head>
<body>
<div ng-controller="myController">
    <input ng-model="expr" type="text" placeholder="Enter an expression"/>
    <h2>{{parseValue}}</h2>
</div>
</body>
</html>
表达式在AngularJS应用中被广泛使用，因此深入理解AngularJS如何使用并运算表达式是非常重要的

用{{ }}符号将一个变量绑定到$scope上的写法本质上就是一个表达式：{{ expression }}。
当用$watch进行监听时，AngularJS会对表达式或函数进行运算。

表达式和eval(javascript)非常相似，但是由于表达式由AngularJS来处理，它们有以下显著不同的特性：
 所有的表达式都在其所属的作用域内部执行，并有访问本地$scope的权限；
 如果表达式发生了TypeError和ReferenceError并不会抛出异常；
 不允许使用任何流程控制功能（条件控制，例如if/eles）；
 可以接受过滤器和过滤器链。

对表达式进行的任何操作，都会在其所属的作用域内部执行，因此可以在表达式内部调用那些限制在此作用域内的变量，并进行循环、函数调用、将变量应用到数学表达式中等操作。